package com.csi.bumblebee.mapper;

import com.csi.bumblebee.domain.user.MyCollection;
import com.csi.bumblebee.domain.user.MyJob;
import com.csi.bumblebee.domain.vo.MyJobReturnVo;
import org.apache.ibatis.annotations.Mapper;


import java.util.List;

/**
 * 岗位
 *
 * @author yeebs
 */
@Mapper
public interface JobMapper {

    /**
     * 增加岗位
     *
     * @param job
     * @return
     */
    Boolean add(MyJob job);


    //查询岗位信息详情页
    MyJob findByIdJob(String jobId);

    //收藏岗位
    int likeJob(MyCollection myCollection);

    //取消收藏岗位
    int deleteLikeJob(MyCollection myCollection);

    //查询是否已收藏记录
    List<MyCollection> findLikeJob(MyCollection myCollection);

    /**
     * 得到岗位列表（页首用）
     *
     * @param studentId 学生id
     * @return 列表
     */
    List<MyJobReturnVo> favouriteList(String studentId);

    /**
     * 得到岗位列表（查询筛选）
     *
     * @param myJobReturnVo vo
     * @return 列表
     */
    List<MyJobReturnVo> selectList(MyJobReturnVo myJobReturnVo);

    /**
     * 分局岗位分类得到岗位列表
     *
     * @param jobTypeId 一级分类id
     * @return 岗位列表
     */
    List<MyJobReturnVo> listByType(String jobTypeId);

    /**
     * 时间倒序给9个
     *
     * @return 岗位列表
     */
    List<MyJobReturnVo> listByTime();

    /**
     * 收藏的岗位列表
     *
     * @param studentId 学生id
     * @return 列表
     */
    List<MyJobReturnVo> collectionListByStudent(String studentId);

    /**
     * 投递的岗位列表
     *
     * @param studentId 学生id
     * @return 列表
     */
    List<MyJobReturnVo> submittedListByStudent(String studentId);


    //查询一个二级岗位分类下的所有已发出的岗位列表
    List<MyJob> listJobTwos(String jobTypeId);


}
